package com.swim.common.utils;

import java.io.StringReader;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TimeZone;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.xml.sax.InputSource;

/**
 * @author 刘军武
 * @date 2021/7/24 16:28
 */
public class XMLUtils {

	/**
	 * description: 解析微信通知xml
	 * 
	 * @param xml
	 * @return
	 * @see
	 */
	@SuppressWarnings({ "unused", "rawtypes", "unchecked" })
	public static Map parseXmlToList(String xml) {
	    Map retMap = new HashMap();
	    try {
	        StringReader read = new StringReader(xml);
	        // 创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入
	        InputSource source = new InputSource(read);
	        // 创建一个新的SAXBuilder
	        SAXBuilder sb = new SAXBuilder();
	        // 通过输入源构造一个Document
	        Document doc = (Document) sb.build(source);
	        Element root = doc.getRootElement();// 指向根节点
	        List<Element> es = root.getChildren();
	        if (es != null && es.size() != 0) {
	            for (Element element : es) {
	                retMap.put(element.getName(), element.getValue());
	            }
	        }
	    } catch (Exception e) {
	        e.printStackTrace();
	    }
	    return retMap;
	
	}
}
